/*******************************************************************************
* Имя файла: eightTask.h
* Дата: 30-04-2024
* Разработчик: Андрей Подлегаев
* Группа: 315
* Факультет: ЦДО ТУСУР
* Лицензия: BSD
* Описание: Решение задач к лабораторной работе № 6 (ЦДО ТУСУР)
* *****************************************************************************/

#ifndef EIGHTTASK_H
#define EIGHTTASK_H

#include <iostream>
#include <algorithm>
#include <chrono>
#include <random>
#include <string>

#include "colorConsole.h"

/* Прототип функции ввода (с проверкой) количества элементов контейнера */
int checkInNumberElements();

/* Прототип функции создания динамического контернейра заполненного случайными числами*/
std::vector<int> createDinamicContainer(const int xNumberElements);

/* Прототип функции форматированного вывода контейнера (вектор) в консоль */
void printFormatContainer(std::vector<int>& vec);

/* Прототип функции ввода (с проверкой) однозначного числа */
short checkInSingleDigitNumber();

/* Прототип функции расчета и вывода среднего арифметического элементов кратных заданному числу */
void getArithmeticMultiplesElements(std::vector<int>& vec, const short singleDigitNumber);

/* Прототип функции замены заков элементов контейнера между первым и последним максимальным элементом */
std::vector<int> replacingElementSigns(std::vector<int>& vec);

/* Прототип функции замены местами элементов вектора относительно первого отрицательного элемента */
void rotationOfVectorElements(std::vector<int>& vec);

/* Прототип функции удаления всех нулевых элементов из контейнера */
void removeNullElements(std::vector<int>& vec);

#endif // EIGHTTASK_H
